package com.luoran.bartalks.dao;

import java.util.List;

import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;

import com.luoran.bartalks.entity.BaseInfo;
import com.luoran.bartalks.entity.biz.BtCodingRule;

public interface IBtCodingRuleDao extends BaseMapper<BtCodingRule> {

	// 分页
	void queryPage(PageQuery<? extends BaseInfo> pageQuery);

	// 根据单据类型查询唯一启用的编码生成规则
	BtCodingRule findCodingRule(@Param("billType") String billType, @Param("companyId") String companyId);

	// 停用已启动的规则
	void closeStartedRule(@Param("billType") String billType, @Param("companyId") String companyId);

	// 查询已启动的规则条数
	List<BtCodingRule> getCodingRule(@Param("billType") String billType, @Param("companyId") String companyId);

	// 清空编码规则
	void deleteRulesByCompanyId(@Param("companyId") String companyId);

	// 查询模板公司启用的编码规则
	List<BtCodingRule> getcodingRuleStencilList(@Param("companyId") String companyId);

	// 根据公司查询所有的编码规则
	List<BtCodingRule> getAllByCompanyId(@Param("companyId")String companyId);

	// 根据Id in 查询
	List<BtCodingRule> getByIds(@Param("ids") List<String> ids);
	
}
